Preference based program deletion in a PVR

ABSTRACT

Systems and methods are described for personal video recorders (PVRs) and other devices configured for recording and playing back media content from a data storage unit, preferably a random access unit such as a hard drive. A system is described having network connectivity, such as a power-line communications, with other PVRs or similar units, wherein media content can be automatically shifted from one unit to another over the network, such as in response to changes in available storage space. Content transfers and deletions within the system being intelligently performed based on content status, user preference settings, and user preference information such as received from a preference engine, toward optimizing the value to the user of the content which is retained network wide. An additional aspect provides content restoration after mistaken deletion by the user or automated deletion functions.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC

Not Applicable

NOTICE OF MATERIAL SUBJECT TO COPYRIGHT PROTECTION

A portion of the material in this patent document is subject tocopyright protection under the copyright laws of the United States andof other countries. The owner of the copyright rights has no objectionto the facsimile reproduction by anyone of the patent document or thepatent disclosure, as it appears in the United States Patent andTrademark Office publicly available file or records, but otherwisereserves all copyright rights whatsoever. The copyright owner does nothereby waive any of its rights to have this patent document maintainedin secrecy, including without limitation its rights pursuant to 37C.F.R. § 1.14.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention pertains generally to devices for recording and playingback of media content, and more particularly to automaticallytransferring content between devices connected over a network, andrestoring content subsequent to user deletion.

2. Description of Related Art

Media devices such as personal video recorders (PVRs), digital videorecorders (DVRs), set-top-boxes (STBs), Web TV systems, and the like areincreasingly incorporating random data storage units, in particular harddisk drives, allowing media content to be retained and accessed asdesired. The capacity of these disk drives often allows a large numberof programs and full-length motion pictures to be retained. The termPVR, or video recording device, will be utilized herein to refer to allsuch described media devices having random access storage capabilityupon which media content can be recorded and retained.

As the disk becomes full of recorded content, additional content can notbe recorded until some content is either deleted, moved to anotherdevice, or transferred off the unit onto a removable media. If the PVRis configured for timed recording, the system will be unable to recordthe scheduled programming. On current video recorders the user needs todelete elements of the existing content prior to the recording ofadditional content to free sufficient video content space upon whichadditional video content may be recorded.

When content is marked for deletion on a PVR, the actual content may beerased or the storage allocations remapped to free the content space forother content. When mistakes are made in marking content for deletion oncurrent video recorders, the deleted content can not be “undeleted”.Examples of content deletion “mistakes” include a user inadvertentlyselecting the wrong content for deletion, a spouse or family memberdeleting content important to the individual, or the content beingautomatically deleted in response to the lapse of retention time period,or other retention control parameter.

Therefore, a need exists for systems and methods that overcome problemsassociated with content recording and deletion as outlined above. Thepresent invention satisfies those needs, as well as others, andovercomes the deficiencies of previously developed personal videorecording systems.

BRIEF SUMMARY OF THE INVENTION

The present invention provides methods and systems for improving usercontrol of retained content. A method of automated intelligent contentshifting is described wherein a PVR connected over a network, such as awired or wireless LAN, or power-line communications (PLC) network, canmove content to another storage device connected on the network tobalance content storage which allows additional content to be recorded.The content shifting being preferably performed in response to contentstatus along with user preference settings and user preferenceinformation received from a preference engine within the PVR that tracksuser preferences with regard to program recording and viewing. A methodof recovering content marked for deletion is also described whereincontent marked for deletion is only overwritten as the space isutilized, up to that time allowing the content to be recovered.

In one embodiment, the automated content shifting is performed within aan apparatus, herein referred to as a video storage device, or personalvideo recorder (PVR), for recording and playing back video streams,which comprises one or more of the following in combination:

-   -   (a) A video interface configured for receiving or transmitting        video streams.    -   (b) A network communications interface capable of transmitting        and receiving video streams over a communication network, such        as a wired or wireless LAN, power-line communication network or        similar.    -   (c) A data storage unit configured for retaining video content,        such as storing broadcast programming for later viewing.    -   (d) A computer processor for controlling the recording and        playing back of video content to and from the data storage unit        through the video interface.    -   (e) A mechanism (means) for automatically transferring video        content over the network communications interface between        different video storage devices over the network to redistribute        content. The means may be implemented by programming executable        by the computer processor for carrying out the operations of (i)        detecting that available content storage space on a first video        storage device is below a preferred minimum value of available        content storage space; and of (ii) transferring an element of        content to another video storage device which has sufficient        content storage space to receive the additional content.        Transfers may also be generally initiated in response to        detecting that a sufficient change in available content storage        space has arisen or the upcoming needs for storage space have        changed. It should be appreciated that the video storage        apparatus may be implemented within a system expressly designed        for this feature, or as programming or programming changes        within existing network-enabled video recording and playback        devices without the necessity of adding additional hardware.

In one embodiment, the method of redistributing (transferring) contentbetween PVRs generally comprises one or more of the following steps incombination:

-   -   (a) Tracking the available content space within a personal video        recording unit. This can be tracked in relation to time, bytes,        percentage of storage, or any other desired form of content        storage space measurement.    -   (b) Determining that a sufficient change in availability of        content space has occurred in the video recording device. This        determination may be in response to an increase or decrease        which crosses a threshold or a change in available content space        of sufficient proportion (i.e. 30 minute change). For example,        the amount of available content space can be checked against a        predetermined or variable threshold value. For example, a fixed        minimum threshold of at least three hours of recording, wherein        sufficient space is thereby available to record a full-length        feature or a basketball game. Preferably, the storage space        threshold can be measured based on an amount of time, storage        space, or a proportion (i.e. 5% or 10% of overall content        storage space).    -   (c) Establishing communication with other video recording        devices adapted for content storage and retrieval over the        network.    -   (d) Determining content space availability within each of the        other video recorder devices. Utilizing a network protocol over        the established communication path allows a first video recorder        unit to request available space information from the other        devices connected to the network.    -   (e) Determining which content should be transferred in either        direction between the first video recorder device and other        video recorder devices. Although any content can be moved over        the network between video recording devices, the system        preferably makes that determination based on content status        information, user preference settings, and/or user preference        information as may be received from a user preference engine.        For example, content may be selected based on the size of the        content elements that must be transferred in order to free up        sufficient content space on the video recorder device to reach        the desired minimum available storage level. Content may be        distributed over the network according to a fixed order, such as        oldest first, least likely to be utilized and so forth. This        functionality is preferably performed in response to information        from a user preference engine within the PVR that has some        understanding for viewer preferences, such as collected as the        user utilizes the system as well as user preference selections.        For example, the system can utilize information about where such        content is normally viewed as a factor in determining where it        is transferred (i.e. viewing location may be registered for        content recorded from the same recording schedule). For instance        a regular broadcast program may be recorded at location #1 on        the network, such as a living room, yet the user may watch it        from location #2 on the network such as a bedroom. Wherein the        system may elect to transfer this regular broadcast programming        to location #2 if sufficient space exists on that device. The        selection of content to transfer may be in response to other        user selected or programmatic criterion.    -   (g) Establishing programmatic references to content that is to        be moved. Pointers or similar data structures are established in        preparation for the content transfer.    -   (h) Copying is performed in either direction between the video        recorder devices over the network. The transfer generally        comprises transferring a series of blocks following a pointer        chain to the destination.    -   (i) It is also preferable that the result of the copy operation        be verified to assure that content is available at the        destination before any action is taken with regard to removing        source content. Verification can take many forms, from chaining        through allocation pointers for the content and checking the        destination content size, to testing for comparable checksums or        data signatures derived in response to other algorithmic        mechanisms.    -   (j) Finally, the source content can be marked for deletion on        the video recorder device since it has been successfully copied        to the given other device.

In one embodiment, restoration of content can be implemented within anelectronic device for recording and playing back video streams thatgenerally comprises one or more of the following in combination:

-   -   (a) A video interface configured for receiving or transmitting        video streams.    -   (b) A first video storage device configured for retaining video        content.    -   (c) A user interface for receiving recording and playback        commands from a user. These commands include selecting content        for deletion from a play list or similar, and selecting content        within a replacement list for restoration to the play list        (undeletion) if at least portions of the content have not yet        been reused for the storage of replacement video content.    -   (d) A computer processor for controlling the recording and        playback of video content from the first video storage device in        response to user commands, and user settings such as the        recording schedule. The processor (or processors) preferably        orchestrate all actions of the device in response to the        execution of programming.    -   (e) A mechanism (means) for removing an element of video content        displayed on the play list, and for deferring the release of        associated content storage space upon which the video content is        recorded until the space is needed for recording additional        content. The means for removing an element of video content        preferably comprises programming executable on the computer        processor for carrying out the operations of: (i) receiving a        directive to delete an element of content from within the play        list of a video recorder; (ii) moving pointers to the element of        content from the play list to a replacement queue, within which        units of content storage remain associated with their element of        content until reused when recording additional content.

Preferably the present invention does not allow the user to erase allcontent referenced in the replacement list, although they may optionallychange or select the order of content replacement. Furthermore, thesystem can be optionally configured to allow a specific content elementin the replacement list to be physically erased, or deallocated, such asin the case of recorded content deemed inappropriate for viewing withinthe household wherein complete removal of the content from the system isdesired.

To restore deleted content, the apparatus preferably comprises means forrestoring video content which has been removed from the play list andwhose content storage space has not yet been reallocated to othercontent, back onto the play list in response to an undeletion commandfrom the user directed at the content. The means for restoring videocontent preferably comprising programming executable by the computerprocessor for carrying out the operations of: (i) receiving a usercommand to undelete an element of content previously deleted from theplay list; and (ii) moving pointers to remaining portions of the elementof content from a replacement list (queue) back into the play list.

The method steps for allowing deleted media content within a PVR to berestored is preferably performed in response to programming executableon a computer processor within the PVR, which in one embodiment cangenerally be considered to comprise one or more of the following stepsin combination:

-   -   (a) Removing an element of video content from the play list and        entering it into a replacement list in response to a video        content deletion directive. The directive may be in response to        a command received from the user, or from programming that        performs automated content deletions (on the individual recorder        device or in response to automatic redistribution of content        over the network).    -   (b) Deferring the release of the content storage space upon        which the elements of video content are recorded within the        replacement list until the content storage space is needed for        recording additional video content.    -   (c) Releasing sufficient content storage space upon which an        element of video content is recorded within the replacement        list, in response to recording of new video content within the        video recording device.    -   (d) Restoring an element of video content, for which at least a        portion of the content storage space has not been released, from        the replacement list to the play list in response to an undelete        command received from the user to the content element within the        replacement list.

The present invention described above may be implemented in a number ofalternative ways, and can provide a number of beneficial aspects,including but not limited to the following.

An aspect of the invention provides automated transfer of contentbetween networked devices configured for storing video streams, so thatrecording operations are not hindered on a given device by lack ofavailable recording space.

Another aspect of the invention provides for user control of thethresholds utilized for determining if content is to be transferredbetween devices on the network.

Another aspect of the invention provides for selecting content fortransfer based on the user selected categorization of the content, suchas archival, temporary, permanent, and so forth.

Another aspect of the invention provides for selecting content fortransfer based on information about the devices on the network, contenthistory (status), user preferences settings, and user preferenceinformation which may be provided by a preference engine executing onthe system.

Another aspect of the invention provides an automated content deletionmechanism wherein content is intelligently deleted in response tocontent status, user preference settings, user preference informationfrom a preference engine, and the need or availability of contentstorage space by other video recorder devices communicating over thenetwork.

Another aspect of the invention provides a content deletion mechanismwherein content subject to a user deletion command can be subsequentlyrestored as an available program listed on the content play list.

Another aspect of the invention provides a content deletion mechanismwherein content can be restored so long as any of it remains in areplacement list having not been utilized for storing additionalcontent.

A still further aspect of the invention is that the reuse of contentfrom the replacement list can be subject to user preferences andinformation about the history of the content, such as if, or whichportions, were played back.

Further aspects of the invention will be brought out in the followingportions of the specification, wherein the detailed description is forthe purpose of fully disclosing preferred embodiments of the inventionwithout placing limitations thereon.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

The invention will be more fully understood by reference to thefollowing drawings which are for illustrative purposes only:

FIG. 1 is a block diagram of a system configured for performing theautomated transfer and restorable deletion operations according to anembodiment of the present invention.

FIG. 2 is a flowchart of automated content transfer to other networkedrecording devices according to an aspect of the present invention.

FIG. 3 is a flowchart of content deletion, storage, and restorationaccording to an aspect of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Referring more specifically to the drawings, for illustrative purposesthe present invention is embodied in the apparatus generally shown inFIG. 1 through FIG. 3. It will be appreciated that the apparatus mayvary as to configuration and as to details of the parts, and that themethod may vary as to the specific steps and sequence, without departingfrom the basic concepts as disclosed herein.

1. Automated Content Shifting from a Networked PVR.

A video recorder device (PVR) having connectivity over a network, suchas a power-line network within a residential setting, according to thisaspect of the invention automatically moves recorded content around tobalance the storage utilization on various networked recorder unitstoward optimizing network wide user “value” of the content retained onthe PVRs connected to the network. The PVR device of the inventiongenerally performs automated content deletion and distribution,preferably performed intelligently in response to content status userpreferences. The invention is applicable to PVRs (or other devicescapable of storing content) which are interconnected over acommunication network or link.

Storage balancing between PVRs on the network is preferably performed inresponse to content status, user preference settings, and userpreference information such as derived from a preference engine withinthe PVR which determines user preferences from monitoring system usageand from preferences entered by the user. As the storage availability ona particular PVR drops below a threshold (predetermined, relative, orvariable), the PVR searches for other units on the network withsufficient storage space and transfers elements of content to the otherunit. The programming is then deleted from the first PVR providing roomfor storing additional content, such as broadcast programming accordingto manually activated recording or a recording schedule. The viewer canretrieve the content from any of the networked units and watch thecontent from the originating PVR, or from the other devices connectingto the network and configured for viewing network content.

Additionally, if storage availability on a first PVR increases, such asresulting from automated or user deletion of one or more contentelements, then a message can be sent to other PVRs and storage balancinginitiated. Storage balancing occurs in this case as the first PVR with“extra” available content space alerts other PVRs which can then shiftcontent to the first PVR.

In general, the content transfer can be initiated in response to anysufficient change in content space availability within a video recorder,or change in upcoming needs for additional space (i.e. scheduledrecording).

Communication between video recorder devices over the network canoperate in combination with automated content deletion, wherein the needexpressed for content space by a first PVR results in a second PVRdeleting content of low value so that a transfer of content from thefirst PVR may take place. The system is configured to allow assessingthe relative value of content elements on a network wide basis, so thatthe content which is retained has the estimated highest value to theuser.

FIG. 1 illustrates an example embodiment of a PVR 10 whose programmingcan be adapted for performing the described content transferring. Itshould be appreciated that the PVR may comprise a DVR, STB, or otherdevice capable of recording and playing back video content from a videostorage device, preferably a random access data storage unit such as thedepicted hard disk drive. An internal bus 12 connects a number offunctional elements within the unit. A tuner front-end 14 is configuredfor receiving a RF signal from an antenna or a cable network. Codecblock 16 in combination with memory 18 decodes the demodulated signalfrom tuner front-end 14. The decoded digital video signal is thenconverted within an output interface 20 for display and/or audio output.It should be appreciated that output interface 20 may be configured tosupport any desired audio or video standard for playing a media stream.

The media stream can be transferred by codec 16 over bus 12 to a datastorage subsystem 22 for recording. Data storage subsystem 22 isexemplified with a storage interface 24 shown connected to a hard diskdrive 26. It will be appreciated that other forms of data storage may beutilized additionally or alternatively in place of hard disk drive 26,for example solid state storage, removable media storage, and so forth.It should be appreciated that multiple data storage devices may besupported within the PVR, which may include removable media drives thatprovide archival access to data and streams.

PVR 10 can be networked in a number of alternative ways according to theinvention, with other devices configured for storage and retrieval ofmedia streams. For example, a network interface 28 may comprise a wiredor wireless interface to a LAN. Another preferred networking method isthat of a power-line communication (PLC) network, to which the PVR isconnected via a PLC interface 30 connecting through a power-line 32, andpreferably supporting an encryption/decryption means 34.

Media streams, such as broadcast programming received through a cable,satellite antenna, or conventional VHF/UHF antenna, may be receivedthrough tuner 14 for storage on data storage device, or subsystem, 22.Similarly content may be received over network interface 28 orpower-line communications interface 30, from other devices for storageon data storage subsystem 22. To replay a recorded stream, codec 16receives the media stream from data storage subsystem 22 over bus 12 anddecodes it for output.

User control of PVR 10 may be according to any convenient method, suchas received through a panel mounted command interface 36 from one ormore devices 38, such as a keypad, keyboard, discrete buttons, cursorcontrol device (pointing device), other input sources and combinationsthereof. PVR operations may be alternatively or additionally controlledremotely through a wireless interface 40, receiving input from awireless device 42, such as a remote control unit utilizing infrared(IR) communication, wireless communication, and so forth.

Operation of the circuitry connected to bus 12 is controlled by acentral processor 44 in combination with memory 46 which contains bothprogramming executable on processor 44 along with data utilized by theprogramming. It should be appreciated that various devices, such asPVRs, DVRs, STBs, and the like which are configured for storing andaccessing media content, such as on a hard disk drive, can be configuredwith programming according to the teachings of the present invention. Apreference engine may be integrated within processor 44 in combinationwith memory 46 (or alternatively a separate processor), which tracksuser viewing habits and can preferably accept direct user feedback onpreferences. The user preference engine allows “intelligent” decisionsto be made regarding the distribution of PVR content. User preferenceengines are generally known in the art, wherein the details ofimplementation are not disclosed herein.

FIG. 2 illustrates an example embodiment of program flow forautomatically transferring content to other devices on the network. Theflowcharted programming being executable on a computer processor withinthe PVR, or similar device. For the sake of simplicity, the flowchartdepicts the case where insufficient content space is detected. It shouldbe appreciated that similar programming can control content transfers inresponse to any change in available content space, space requirements,or user preferences. The routine may be entered at block 50, such as inresponse to a periodic check, and/or a change in the amount of contentretained on the device, or a pending change as would arise in responseto a upcoming scheduled recording. The available amount of content spaceis then tracked as represented by block 52, such as by registering theremaining disk space upon which content may be recorded on the videorecording unit. Preferably the system determines disk utilization fromsome form of disk allocation table or mechanism maintained for the diskblocks which together comprise each element of content, although thesystem can be adapted for tracking content availability with any form ofcontent storage.

A check is performed on the sufficiency of remaining content storagespace as per block 54. If at least the minimum space is available, thenno transfers are necessary and execution can return to other processingat block 56. However, if it is determined at block 54 that insufficientcontent space remains in this PVR, then the PVR will initiatecommunication with other devices adapted for content storage andretrieval over the network as per block 58. From this communication thePVR gathers information on the availability of content storage on theseother content storage and retrieval units. If insufficient space existson these other units as represented by block 60, or if they areotherwise not configured for transferring content between devices on thenetwork, then a transfer cannot be performed and execution returns asper block 56. Preferably, in this situation the system is configured forgenerating an alert to the user about the insufficient level ofremaining disk space, in particular if upcoming (i.e. within 24 hours)scheduled recording times exceed the available content storage space.

If it is determined at block 60 that sufficient content is available atone of the other devices, then processing continues. If more than onevideo storage device is available for receiving the content, then adecision is made as to which video storage device to store the contenton, such as the device with the most available space, or the device uponwhich this content is typically played, or any other desired selectionmetric. It is then determined at block 62 which element or elements ofcontent are to be transferred. Although not shown on the flowchart,these decisions are based on user preference settings, and userpreference information, such as received from a preference engine, whichare preferably utilized in combination with status information for thecontent (i.e. when recorded, when watched, category, etc.) Referencesare then established to the content as per block 64 within the programin preparing for the transfer. For example a pointer is loaded to afirst allocation entry associated with the content, wherein eachallocation entry contains a pointer to subsequent blocks within thecontent. Alternatively, other structures can be prepared for executing atransfer operation of the content.

Copying of the video content from a first video storage device to theselected destination device commences at block 66 over the network.Blocks of content are copied until all content has been transferred asdetected at block 68. After copying the content to the destination, itis preferable that the destination content be verified as represented byblock 70. This verification, for example, may comprise checksumming orotherwise performing algorithms on the data blocks to generatesignatures for comparing the source data and destination data. Typicallythe signature is included with the data transferred, wherein thedestination compares the signature with the results of the same orequivalent signature generation algorithm to perform the verification.If the copy operation is found to be in error, then an error handlerrepresented by block 74 is preferably executed which logs the error andcan attempt recovery, such as retrying the copy operation a given numberof times. In response to a successful transfer, the source content ismarked for deletion as per block 72 prior to a return at block 56.

In a similar manner to the above the automatic transfer of content toother video storage devices (PVRs) on the network can be triggered inresponse to other preference choices. For example, a threshold may beset on the PVR wherein if the available storage space exceeds thisthreshold, such as in response to content deletion on the PVR, then theother PVRs are alerted over the network to the content availability. Thenetwork of PVRs are thereby kept apprised of available content space sothat content may be intelligently distributed to maximize the value ofcontent retained network wide.

In another example any sufficient change in available content space, orneed for additional storage (i.e. upcoming recordings listed on arecording schedule) can trigger a communication over the network whereinthe video storage devices determine if content transfer is warranted andcan execute the necessary transfer of content.

Automatic content deletion can be integral to the content distributionperformed within the system. Automatic content deletion being preferablyperformed in response to information from the preference engine. Forexample, when more space is needed on a first PVR, then information fromthe preference engine is used to determine which programs are the leastlikely to be missed by the user (of lowest value), which are thensubject to deletion by generating a deletion directive. For example, ifthe user really enjoys westerns directed by John Ford and starring JohnWayne, as indicated by information collected from the preference engine,then the movie “Breakfast at Tiffany's” could be deleted before “The ManWho Shot Liberty Valance”, all other aspects of the decision beingequal.

Furthermore, distribution of content is performed in keeping with thepreferences of the user as determined by the preference engine. Forexample, if the show “Sex and the City” is normally recorded in theliving room, but watched in the bedroom, the preference engine of thesystem recognizes this and will attempt to store the content on the PVRin the bedroom. If the viewer really likes the movie “Shrek” a copy ofthe movie may be retained on multiple devices. If the television in thebedroom is capable of showing high definition (HD) television, thepreference engine may attempt to store the content on a PVR associatedwith an HD television. The preference engine can determine userpreferences based on what content is recorded, viewed, deleted, moved,and can track information about the viewing systems associated with eachPVR, and so forth.

2. Content Deletion and Recovery.

Another aspect of the invention provides a method wherein content“deleted” by the user, or deleted automatically, can be recovered by theuser. Content which is “deleted”, that is which has been marked fordeletion in response to a deletion directive, such as from a user orautomated content deletion and distribution programming, is moved to areplacement queue, according to the present invention, in which thecontent is only overwritten as the space is utilized for recordingadditional content. The invention also provides mechanisms wherein thestatus of the content marked for deletion is taken into account alongwith user preference settings, and user preference information from thepreference engine. Examples of aspects affecting the determination ofwhich content is to be overwritten include the category of content, theelapsed time since the content was recorded, the extent to which thecontent has been accessed, user viewing preferences, user storagepreferences, and other similar aspects of preference.

When an element of content is marked for deletion, such as in responseto a user choice, or in response to an automated deletion anddistribution function, such as when the program retention interval forthe content has expired, the content is not removed from hard diskstorage. Instead of physically deleting the content, a pointer to thestorage areas associated with the content are put into a queue with thecontent remaining untouched until those content sections reach the topof the queue, or are otherwise selected, for use in storing additionalcontent. Until the storage spaces holding the content have been reused,the content (or portions thereof) can be restored to the list of contentavailable for playing, also referred to as a “play list”, or “nowplaying list”, and viewed. The collection of space occupied by thecontent marked for deletion preferably can not be physically erased ordeleted in total, until the space utilized for storing the content isneeded for storing additional content.

Space is reclaimed, therefore, on as as-needed basis using a cachingreplacement algorithm to determine how the space associated with contentmarked for deletion is to be reused based on queue entries. The cachingreplacement algorithm according to the invention can utilize a number ofcriteria for determining ordering of content within the queue, such ascontent status, user preference settings, and preference informationreceived from the preference engine. By way of example a few of thesepreferences may include a viewer preference score derived from thepreference engine, the original category of content (i.e. temporary,permanent, and so forth), the viewing state of the content (viewed,partially viewed, not viewed, and so forth), the length of time it hasbeen marked for deletion, and other characteristics. The cachingreplacement algorithm of the system can reclaim for reuse portions ofcontent that has already been accessed or viewed, prior to portions ofthe program that have not yet been accessed or viewed.

It will be appreciated that the caching replacement algorithm candetermine the original placement of pointers to the content areas withinthe queue, and can also modify queue placements by reordering queuecontents at any desired time in response to user preferences, systeminformation, and/or events.

FIG. 3 illustrates an example embodiment of program flow for allowingvideo content to be restored for playback subsequent to a directive fordeleting a content element, such as from a user or the automateddeletion and distribution functions of the system. This aspect of theinvention can be implemented on hardware exemplified in FIG. 1 whichdoes not require any external communication mechanisms, such as networkinterface 28 or power line interface 30. Preferably the invention isimplemented as programming which executes on a processing element withina PVR, STB, or similar device which is capable of recording videocontent.

The method steps illustrated in FIG. 3, indicate the operation ofprogramming during deletion, storage, and restoration of content. Themethod can be considered to generally comprise programming whichcommences at block 90 wherein the user has already selected (i.e.“selection” event generated), or moved the cursor over (i.e.“cursor-over” event generated), an element of content listed on a playlist or similar. A deletion directive is received, such as from a usercommand or automated deletion programming as represented by block 92.Under automated deletion the status information about the video contentis considered, and user preference settings or information is alsopreferably taken into account, such as received from the user preferenceengine of the PVR.

The system responds as per block 94 by moving the content, or preferablypointers to the content, to the replacement list wherein it no longer isdisplayed within the play list and appears deleted. The content is not,however, physically deleted or lost which can occur for example bydropping the head allocation pointer in a chain of blocks allocated tothe content. The “deleted” content remains in the replacement list asrepresented by block 96, which is stored on the random access storagedevice (i.e. hard drive), unless that storage space is needed for therecording of other streams. The replacement list can be structured as aqueue (i.e. first-in-first-out, FIFO, queue), linked list, or other formof data structure.

The reuse of the content storage space taken up by the “deleted content”can be determined on a first deleted basis, and/or other selectioncriterion. Preferably, content reuse is also intelligently driven inresponse to content status, user preference settings, and userpreference information, such as information received from the preferenceengine. Examples of selection criterion include basing the decision onthe content history, such as the user categorization of the content(i.e. archive, temporary, permanent, and so forth), when content wasrecorded, has it been played, what portion has been played, and otherinformation preferably utilized in combination with user preferences andhistory of the content itself.

At some subsequent time, which could be days or even weeks laterdepending on the frequency of PVR use, the user realizes that contenthas been deleted to which access is desired. The user enters a commandto the PVR system to gain access to remaining content elements stored inthe replacement list. The user can then select a listed element ofcontent from within the replacement list as represented by block 98. Thecontent is preferably listed in the replacement list so long as any ofthe sections of data remain and have not been reallocated for thestorage of new content.

For example, the system may be configured to free up portions of contentwhich have been watched by the user prior to unwatched portions, whereinit handles updating allocation pointer strings, or similar allocationmechanisms, as necessary to retain the association between the name ofthe content and the remaining unwatched content portions thereof.

The content selected by the user for “undeletion”, is then restored tothe play list as per block 100, such as by moving the content, or morepreferably one or more pointers or data structures referring to thecontent, back into the play list along with the information about thecontent. If only a portion of the content can be restored, then thesystem preferably notifies the user prior to completing contentrestoration to the play list, thereby allowing the user to declinerestoration of incomplete content. The user may be notified as to whatcontent was overwritten, such as “First 15 minutes not available, wasviewed mm/dd/yy” or similar. After restoring content to the play list,the sequence is completed as represented by the return from theprocedure in block 102, unless other optional restoration steps areperformed, such as entering notes from a user, undeleting other elementsof content from the replacement list and so forth. Furthermore, thesystem preferably includes a notification within the play list if only aportion of the content could be restored, this serves as a reminder tothe person that restored the content, and a notification to otherparties of the incomplete nature of the restored content.

Although the description above contains many details, these should notbe construed as limiting the scope of the invention but as merelyproviding illustrations of some of the presently preferred embodimentsof this invention. Therefore, it will be appreciated that the scope ofthe present invention fully encompasses other embodiments which maybecome obvious to those skilled in the art, and that the scope of thepresent invention is accordingly to be limited by nothing other than theappended claims, in which reference to an element in the singular is notintended to mean “one and only one” unless explicitly so stated, butrather “one or more.” All structural, chemical, and functionalequivalents to the elements of the above-described preferred embodimentthat are known to those of ordinary skill in the art are expresslyincorporated herein by reference and are intended to be encompassed bythe present claims. Moreover, it is not necessary for a device or methodto address each and every problem sought to be solved by the presentinvention, for it to be encompassed by the present claims. Furthermore,no element, component, or method step in the present disclosure isintended to be dedicated to the public regardless of whether theelement, component, or method step is explicitly recited in the claims.No claim element herein is to be construed under the provisions of 35U.S.C. 112, sixth paragraph, unless the element is expressly recitedusing the phrase “means for.”

1. An apparatus for recording and playing back a video stream, hereinreferred to as a first video storage device, comprising: a videointerface configured to receive or transmit a video stream; a networkcommunications interface; a data storage unit configured to retain videocontent; a computer processor configured to control the recording ofvideo content to, and the playing back of video content from, said datastorage unit through said video interface; and means for automaticallytransferring video content over said network communications interfacebetween said first video storage device to, or from, at least a secondvideo storage device to redistribute available video content storagespace.
 2. An apparatus as recited in claim 1, wherein said means fortransferring content comprises: programming executable by said computerprocessor for carrying out the operations of detecting if availablestorage space on said first video storage device is less than a minimumvalue, and transferring video content from said first video storagedevice to said second video storage device if said available storagespace on said first video storage device is less than said preferredminimum value.
 3. An apparatus as recited in claim 2, wherein saidminimum value of available content storage space is measured as aparameter selected from the group of storage space sizing unitsconsisting essentially of a playback time value, a memory quantityvalue, and a proportion value.
 4. An apparatus as recited in claim 1,wherein said means for transferring content comprises: programmingexecutable by said computer processor for carrying out the operations ofdetecting that content storage space availability has increased above athreshold value on a first video storage device, and communicating saidincrease in available content storage space on said first video storagedevice to other video storage devices which can commence a transfer ofvideo content to said first video storage device.
 5. An apparatus forrecording and playing back a video stream, referred to as a first videostorage device, comprising: a video interface configured to receive ortransmit a video stream; a network communications interface; a datastorage unit configured to retain video content; a user interfaceconfigured to receive recording and playback commands from a user; acomputer processor configured to control the recording and playback ofcontent from said first video storage device in response to usercommands, and user selected recording schedules configured tocommunicate with other content recording and playback devices throughsaid network communications interface; and programming executable bysaid computer processor for carrying out the operations of detecting ifa sufficient change in the available content storage space has occurredon said first video storage device, receiving content space availabilityinformation from a second video storage device through said networkcommunications interface, and transferring video content in eitherdirection between said first video storage device and said second videostorage device if content distribution can be improved.
 6. An apparatusas recited in claim 5, wherein said video interface comprises: a videoinput interface configured for receiving video content; and a videooutput interface configured for communicating video content to a videodisplay or video recording device.
 7. An apparatus as recited in claim6, wherein said first video storage device is configured to retain videocontent received from said video input interface and to communicatevideo content through said video output interface.
 8. An apparatus asrecited in claim 5, wherein said network communications interface isconfigured for connection to a network upon which other recording orplayback devices can be connected and over which video streams may becommunicated.
 9. An apparatus as recited in claim 5: wherein thesufficient change is detected by determining that the available contentstorage space has crossed a threshold value; wherein said thresholdvalue can be adjusted according to user preferences; wherein saidthreshold value can adjust automatically in response to changes in therecording schedule.
 10. An apparatus as recited in claim 5, wherein saidthreshold value is measured as a parameter selected from the group ofstorage measurement units consisting essentially of a playback timevalue, a memory quantity value, and a proportion value.
 11. An apparatusas recited in claim 5, further comprising means for performing contentdeletions within a first video storage device in response tocommunication of content storage needs from other video storage devicesover said network.
 12. An apparatus for recording and playing back avideo stream, and referred to as a video storage device, comprising: avideo interface configured to receive or transmit a video stream; a datastorage unit configured to retain video content; a user interfaceconfigured to receive record and playback commands from a user; acomputer processor configured to control recording and playback of videocontent from said data storage unit in response to said user commands;and means for removing video content displayed on a play list, and fordeferring release of associated storage space on said video storagedevice until said storage space is needed for recording additionalcontent.
 13. An apparatus as recited in claim 12, wherein said means forremoving video content comprises: programming executable by saidcomputer processor for carrying out the operations of receiving adirective to delete content from within said play list; moving pointersto said content from said play list to a replacement queue, within whichunits of content storage remain associated with their respective elementof content until reused for recording additional content.
 14. Anapparatus as recited in claim 13, wherein said directive to deletecontent comprises a user command received through said user interface ora directive from programming for performing automated content deletion.15. An apparatus as recited in claim 14, wherein said programming forperforming automated content deletion is executed in response to statusinformation about the video content.
 16. An apparatus as recited inclaim 14, wherein said programming for performing automated contentdeletion is executed in response to user preference settings orinformation.
 17. An apparatus as recited in claim 16, wherein said userpreference information is received from a user preference engine.
 18. Anapparatus as recited in claim 12, further comprising means for restoringvideo content removed from said play list but whose video storage spacehas not been fully reallocated to other content, said restored videocontent being returned to said play list in response to an undeletioncommand from said user.
 19. An apparatus as recited in claim 18, whereinsaid means for restoring video content comprises: programming executableby said computer processor for carrying out the operations of receivinga user command to undelete content previously deleted from said playlist, and moving pointers to remaining portions of content from saidreplacement queue back into said play list.
 20. A method ofredistributing content within a networked video recording device,comprising: determining automatically that a sufficient change in theavailability of video content storage space has occurred in a firstnetworked video recording device; transferring video content over thenetwork between said first networked video recording device and a secondnetworked video recording device in response to said determination ofthe change in content space availability; and marking said content fordeletion from the play list of the networked video recorder from whichthe video content was transferred.
 21. A method as recited in claim 20,wherein said determining that a sufficient change in video contentstorage space has occurred comprises detecting that the available videocontent storage space has dropped below a threshold value.
 22. A methodas recited in claim 20, wherein said determining that a sufficientchange in video content storage space has occurred comprises detectingthat the available video content storage space has increased above athreshold value.
 23. A method as recited in claim 22, further comprisingcommunicating the increase in available video content storage space overthe network with other video recording devices which have video contentto be transferred.
 24. A method of redistributing content within anetworked video recording device, comprising: tracking the amount ofavailable content storage space within a video recording device;determining that a sufficient change in the availability of contentstorage space has occurred on a first video recording device;establishing communication with other video recording devices adaptedfor content storage and retrieval over said network; determining contentspace availability within said other devices; determining which contentis to be transferred in either direction between said first videorecording device and other video recording devices; establishingprogrammatic references to content that is to be transferred betweenvideo recording devices; copying data in either direction from betweensaid first video recorder device and said other video recorder deviceover said network; verifying that the copy operation has completedsuccessfully; and marking content for deletion on the video recorderdevice from which the content was successfully copied.
 25. A method asrecited in claim 24, wherein said tracking of the available contentstorage space comprises determining the amount of available storagespace registered as a recording time value.
 26. A method as recited inclaim 24, wherein said tracking of the available content storage spacecomprises determining the amount of available storage space as apercentage of total content space that remains available for use.
 27. Amethod as recited in claim 24, wherein determining the insufficiency ofremaining content space comprises: comparing the available content spacewith at least one fixed or variable content space threshold; anddetermining that less content space is available than given by saidfixed or variable content space threshold.
 28. A method as recited inclaim 27, wherein said content space threshold is responsive to entriesmade in a recording schedule.
 29. A method as recited in claim 27,wherein said content space threshold is responsive to historicalinformation about recording performed with said video recorder device.30. A method as recited in claim 24, wherein said determination of whichcontent is to be moved is responsive to user preference settings or userpreference information from a user preference engine.
 31. A method asrecited in claim 24, wherein establishing programmatic references tosaid content comprises loading one or more pointers to blocks of datacontaining said content and subject to transfer over said network.
 32. Amethod of allowing restoration of media content deleted from a videorecording device, comprising: receiving a directive to delete mediacontent from within the play list of a video recorder device; movingpointers to said content from said play list to a replacement list;maintaining the association between said content and units of datastorage upon which said content is recorded unless said units of dataare needed to record additional content; receiving a user command toundelete said content from within said replacement list of said personalvideo recorder; and moving pointers to said content, for which at leastsome units of data storage remain associated, from said replacement listto said play list in response to said undelete command.
 33. A method asrecited in claim 32, wherein said directive to-delete content comprisesa user command received through a user interface for said video recorderdevice or a directive from programming for performing automated contentdeletion.
 34. A method as recited in claim 33, wherein said programmingfor performing automated content deletion is executed in response tostatus information about the video content.
 35. A method as recited inclaim 33, wherein said programming for performing automated contentdeletion is executed in response to user preference settings orinformation.
 36. A method as recited in claim 35, wherein said userpreference information is received from a user preference engine.
 37. Amethod of allowing restoration of media content to a play list within avideo recorder device subsequent to deletion, comprising: removing anelement of video content from a play list of a video recorder andentering it into a replacement list in response to a video contentdeletion directive associated with a command received from a user, orprogramming that performs automated deletion; deferring release of thecontent storage space upon which elements of said video content withinsaid replacement list are recorded, until said content storage space isneeded for recording additional video content; releasing sufficientcontentstorage space upon which an element of video content is recordedwithin said replacement list, in response to recording of new videocontent within said video recording device; and restoring an element ofvideo content, for which at least a portion of said contentstorage spacehas not been released, from said replacement list to said play list inresponse to an undelete command, directed at said content element withinsaid replacement list, as received from said user.